/**
 * 
 */
package net.looker.config;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

/**
 *配置管理的抽象类
 * @author solosky
 *
 */
public abstract class Config
{
	/**
	 * 配置文档模型
	 * 配置文件是XML文件
	 */
	protected Document xmlDoc;
	
	/**
	 * 载入配置文件
	 * @param xmlFile
	 * @throws JDOMException
	 * @throws IOException
	 */
	public boolean load(File xmlFile) throws JDOMException, IOException
	{
		if(xmlFile.exists())
		{
			SAXBuilder builder = new SAXBuilder();
			xmlDoc = builder.build(xmlFile);
			return true;
		}
		else
			return false;
	}
	/**
	 * 得到配置
	 * @param String name 配置命名空间 如 data.mysql.host
	 */
	public String get(String name)
	{
		String [] nodes = name.split("\\.");
		Element curElement = xmlDoc.getRootElement();
		for(int i=0;i<nodes.length; i++)
		{
			curElement = curElement.getChild(nodes[i]);
			if(curElement==null) return null;
		}
		return curElement.getText();
	}
	
}
